Top 10k strings from Supercode - Microdrive (1984)(CP Software).tap in <root> / bin / z80 / software / Sinclair Spectrum Collection TOSEC.exe / Sinclair ZX Spectrum - Utilities & Educational / Sinclair ZX Spectrum - Utilities & Educational - [TAP] (TOSEC-v2007-01-01) /

Back to the directory listing

   3 "23658",O:
   3 "1";"SUPERCODE2"
   2 to be replaced.     
   2 UP-SCROLL",T
   2 PROGRAM",D
   2 DOWN-SCROLL",T
   2 BCCCCCCCCCCCCCCCCCCF
   2 23635+256*
   2 *"m";NN;C$(
   2 *"m";E;"SUPERCODE3"
   2 "ROM","0","
   2 "23791",F:
   2 "23659",F:
   2 "23659",D:
   2 "16"-G*(N<P);",";
   2 " This routine
   2  Loading Time: 
   1 variables"'" (3) Numeric Arrays"'" (4) 
   1 to the  bottom area of 
   1 to be located":
   1 to a new address.To   correct,run this routine before loading.It resets System vars   to pre-paging values,& ensures  programs from cassette 
   1 to  23755 and not 23813."
   1 this rout- ine within(using
   1 the following:-"'"
   1 the 2-  byte equivalent(see #101)of the address of the 
   1 that is to  be transformed,into ";:
   1 such lines."
   1 statements won't work if    
   1 statement at
   1 start in mem."
   1 sets  like  the SCIFI in #79).
   1 scrolls when re 
   1 s. Also see #82,#90,#100,#103&#104"
   1 s,by combining 
   1 s which are stored in RAM(ie,UDGs or alternative 
   1 s when logically possible.Also see #64 #90,#100,#103&#104."
   1 s the no: of 
   1 s the length of the BASIC program.   Memory  used by variables is ignored.   Also see #103,#111.";
   1 s the address of the first 
   1 s RAMTOP to its  original value, zeroes the      entire memory & resets System   Variables,UDGs & stack."
   1 s & statements in a prog.  Restart SUPERCODE with
   1 routine,&  let x=no: after LD,de.Use #115  with a higher start address & x =no: of bytes.The file should   
   1 quotes  to save space.Also see #64,#82  & #100."
   1 prog autostart,  enter 1
   1 part2 of your program with the header of another prog, by  manipulating Record/Pause keys  on taperec.Call this routine in part1,& immediately after,call  routine115.Part2 will now auto-
   1 p,q if bytes)  Use the same
   1 out these    Instructions.
   1 only.    Incidentally,to
   1 on lines 22 & 23."
   1 on all 24 lines of the 
   1 of the same 
   1 of BASIC containing a prespecified sequence of 
   1 of  a given 
   1 no: whose 2-byte equivalent was
   1 n  to prevent the scroll? prompt   corrupting the 
   1 mode engaged"''"Release S key":
   1 it to a different address, >23900 so it does not overlap   with the System variables."'" (c)To 
   1 it back with
   1 is to be execu- ted.Enter 
   1 is renumbered(except for arguments like 2.8 or N+3,which are high- lighted.If arg
   1 is  possible:use
   1 instruction. At the  end,
   1 ing the two parts."
   1 in non-deletab-le lines:the listing vanishes   5)Autostart by using
   1 in  a BASIC program by another 
   1 from Part1,but anyone who  attempts to
   1 for another 
   1 etc. Then    
   1 ed/reset Spectrum. (5)Press 
   1 ed,use routine119 before  each
   1 ed,the BASIC will  autorun,& will start the 
   1 ed into a Spectrum with    shadow ROM paged in,as the prog will
   1 ed came from tape/Mdrve,   
   1 each     part immediately before saving  the next one:this ensures that  there will be no delay between  
   1 d, it must be relocated by the samenumber of bytes."'"(2)It is possible to relocate # 22,23,71&76 too,but only to add-resses which are multiples  of  256 away from the original  add-resses.Proceed as follows: Get  the page of the routine,& press Q to quit.The original address  is A - say you want to relocate it to A+256*ZZ,where ZZ is a +/-integer.";
   1 d into 62866 & 62867 respectively. The 4 columns are addr,contents in  dec+hex & 
   1 d into 57125/26 ) :if not you will return to the  next statement.
   1 d in 60952(lo)  & 60953(hi):initially 9495."
   1 d in 60878(lo) & 60879(hi):initially 9495.For the error 
   1 co-ordinates of the";'" top left hand corner of the box
   1 co- ordinates of the top-left hand  corner of the box."
   1 but   will jump to the 
   1 at any  position on the screen: ie, to  find the 
   1 at ANY    position X,Y on the 
   1 as   well as resets 
   1 areutilised.)":
   1 are set  up as UDGs. To return to usual  UDGs,
   1 address   from which 
   1 able). Use N to exit.
   1 a higher RAMTOP first."
   1 a headerless file,   disassemble its
   1 a RAMTOP belowZ &
   1 ________"'
   1 \##N#F#"]\"
   1 [}\r#s#N#F#
   1 ZX SPECTRUM MACHINE CODE TOOLKIT
   1 ZX INTERFACE1 MUST BE ATTACHED
   1 ZX INTERFACE 1 ATTACHED
   1 Z=A+G-F*(N=
   1 Z;" /"'" ";Z+1
   1 Z2=235    
   1 Z2=231Enter:-  9990
   1 Z2=229    
   1 Z if from Microdrive).If anaddress >23800 is to be
   1 X-3,0 The program will work provided  you do not
   1 X+1,0. To do   this to other lines, first find their address X using routine   88, then
   1 UMP PAGE#/ 
   1 UIT AND EXAMINE LINE 1210
   1 Transfer OK"'"
   1 This is Line #";Z
   1 The save is OK. Press any key.":
   1 TOP/MID RIGHT-SCR",S
   1 TOP/MID LEFT-SCR",S
   1 TOP RIGHT-SCROLL",S
   1 TOP LEFT-SCROLL",S
   1 TO SEE  HOW THIS WAS DONE,";
   1 THERE HAS BEEN A RECORDING ERROR
   1 THE MICRODRIVE VERSION
   1 Start address:
   1 Space (1-255)"
   1 SUPERCODE4
   1 SUPERCODE3
   1 SUPERCODE2
   1 SUPERCODE TOOLKIT
   1 SUPERCODE 
   1 SIMULATOR",I
   1 SIMULATOR",G
   1 SAVE*""m"";1;
   1 S with Interval I 
   1 S U P E R C O D E
   1 Routine Starts at ";A
   1 Routine Ends at   ";A+B-E;
   1 Recording OK
   1 ROUTINE NO:
   1 ROUTINE IN ROM
   1 ROUTINE #";N;"
   1 RIGHT-SCROLL",S
   1 RIGHT-SCROLL",33
   1 REPLACE",D
   1 RENUMBER",D
   1 RELOCATION OF SUPERCODE ROUTINES
   1 REFLECT Y-AXIS",E
   1 REFLECT X-AXIS",E
   1 RAM SIZE: 48K"''"PROGRAM LOADED FROM CASSETTE
   1 R"E\*S\###"
   1 Q,E;"This routine converts hex no:s  to their decimal equivalents.   It clears the screen & prompts  'H:' - now ENTER the hex no:.   Only the last 4 hex digits will be converted. The routine auto- repeats. Enter 'Q' to quit, &   
   1 Q,E;"This routine
   1 Q,E;"Call this routine at the start  of your program, say by having  as
   1 Q,D;" The Spectrum doesn't check if   there is enough space free in   its memory before
   1 Press ENTER to Expand the Whole Program 
   1 Part2 by other means will crash the computer." 
   1 PRINTING",E
   1 P,D;" To break into autostart progs,  (a)Instead of
   1 P,D;" (a)To check whether a ZX Inter-  face1 is connected,see whether  or not an error is produced if  an instruction like 
   1 OVERPRINT",E
   1 ON /OFF checkerboard on the 
   1 O,E;"In order to make the FIRST line of your program non- deletable  
   1 No. STATEMENTS :
   1 No. OF EXTRA BYTES::}\_:~\W:
   1 No. LINES      :
   1 No. Bytes:
   1 NON-RELOCATABLE ... use L
   1 NO: ROUTINE 
   1 NO MORE OCCURRENCES
   1 NNNNNNNNNN
   1 N$,C$,C$,DUR:
   1 MID/LOW RIGHT-SCR",S
   1 MID/LOW LEFT-SCR",S
   1 MID RIGHT-SCROLL",S
   1 MID LEFT-SCROLL",S
   1 MICRODRIVE VERSION by F Vachha
   1 MICRODRIVE
   1 MEMORY AVAILABLEN
   1 Length of Program Only:!
   1 LOW RIGHT-SCROLL",S
   1 LOW LEFT-SCROLL",S
   1 LINE NO:NOW RENUMBER PROGRAM
   1 LEFT-SCROLL",S
   1 LEFT-SCROLL",33
   1 KILL CONDENSER",D
   1 J;"----> ";
   1 J,H;"Routine Length is ";B;" bytes
   1 If this is OK, press enter.If itis not, enter the new name (notethat only the first ten 
   1 INSTRUCTIONS  ON THE TRANSFER OF SUPERCODE TO THE ZX-MICRODRIVE 
   1 INDEX PAGE ";(C-E)/
   1 I;"Less Sig  More Sig":
   1 H,D;" The ZX Microdrive spends most   of its time trying to locate a  file - actual loading is swift. 2 ways of saving files so that  they can be accessed faster are (a)
   1 GGGGGGGGGGGGGGGGGGGGGG
   1 GGGGCCCCCCCCCCCCCCCCCCCGGGGG
   1 GGGGBCCCCCCCCCCCCCCCCCCGGGGG
   1 GCCCCCCCCCCCCCCCCCCG
   1 G,D;"1)Make line1 1
   1 Freddy A Vachha   Vic B Rumsey
   1 First Byte:
   1 FROM LINE NO:TO LINE NO:AFTER LINE NO:NOW RENUMBER PROGRAM
   1 FFFFFFFFFFFFFFF
   1 F.VACHHA BSc
   1 Enter Routine No: 
   1 Enter Index Page No: 
   1 EXCHANGE",E
   1 ERROR CODE: ";N$:
   1 ENLARGE REM
   1 EFFECTS",I
   1 EEEEEEEEEEEEEEEE
   1 EEEEEEEEEEE
   1 D,D;A$;A$;A$;A$:
   1 Copying copies is FORBIDDEN
   1 CCCCCCCCCCCCCCCCCCG
   1 BLOCK COPY
   1 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
   1 BBBBBBBBBBBBBBBBBBBBBBBBBBBBB
   1 Auto-start Line No:
   1 Arrays"'" (5) FOR..NEXT control variables"'" Also see #70.";
   1 Array Name:
   1 ANY OTHER KEY
   1 ADDRESS",D
   1 A/C/D/E/I/J/L/M/N/P/Q/R/S/T
   1 A$;A$;A$;A$:
   1 >1 copies of the file   on the same cartridge:for x     copies,do
   1 :these can be  
   1 :if  not,only 1 of the copies might  be erased."'" (b)When saving different parts   of the program,
   1 :Swop sets all squares    with the item On,to Off, & all  with the item Off,to On." 
   1 :On/Off toggle the given  Colour item"'" 
   1 9990, & proceedto
   1 7,13, enter PRINT 
   1 65360/61 with the start    address of routine #63(Hex-Dec) which must also be in memory."
   1 65290. All the memory from 32768 to 65535  is used.To replay,use #78."
   1 64834, Box Width"'"
   1 64832/5 with
   1 64831, Box height"'"
   1 64714/5, 2 byte eq of S    Also see #60."
   1 64711/2, 2 byte eq of I    
   1 64702, Frequency 2"
   1 64693, Frequency 1"'"
   1 64682, Duration"'"
   1 64670, 28(UP) or 29(DOWN)"
   1 64651, Duration"'" 
   1 64649, Span"'" 
   1 64648, Frequency"'" 
   1 63951, Duration"
   1 63905, New 
   1 63903, Old 
   1 63801, No: to be inserted"
   1 63798/9, Start Address (2  byte eq)"'"
   1 63796, No: of bytes"'"
   1 63713/14 with the address  of the new 
   1 63652/53 with the 2-byte   equiv.(see #101)of the address  of the 
   1 63648,   no: of 
   1 63502,No: of 
   1 63499/500,2 byte equiv.     (see#101)of 
   1 63017/8, Time(ms) ""  """
   1 63014/5, Pitch( 2 byte eq) 
   1 63012, Number of notes     
   1 63011, Pitch Decrement     
   1 63004/5, Time(ms) ""   """
   1 63001/2, Pitch( 2 byte eq) 
   1 60899  Now if an error of the type D:  BREAK,  H:STOP in INPUT or L:   BREAK into prog occurs,the prog will not stop but will jump to  the line no: whose 2 byte equi- valent was
   1 60826. Now if/when an error(other than types 0:OK,8:END,9:STOP)occurs  the program will not 
   1 60713","113","HEX->DEC CONVERTER",E
   1 60039.Z contains the required 
   1 60020, Colours  (0-7)      
   1 60006, Duration (1-127)    
   1 58682,Box Length in 
   1 58681,Box Width in pixels  
   1 58680,64(Up)72(Mid)80(Low)
   1 58679,Top Left  Square 
   1 57124 with 195 IF you wish to execute m/c from an address(
   1 57114/15 with 1st byte's   address.
   1 57110/11 with no: of bytes 
   1 56777,Speed(from 1=Fast to 255=Slow):if too fast you might be unable to read it. Call the routine either before  running program(ignoring the    initial display)or during the   program.TRACE remains ON until  you enter 
   1 32s.Also see #71"
   1 24,(``AAAAAAAAAAAAAAAAAAAAAAAAB24,(```AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4
   1 24,(`AAAAAAAAAAAAAAAAAAAAAAAAA
   1 23788.If =  Program length found with #104  then it came from a MicroDrive"
   1 23787+256*
   1 23728/9, 2 byte eq:  of a  
   1 23692,255    within the loop that generates  the lines."
   1 23676,255.";
   1 23676, 223   
   1 23670 & 23671 give   the less sig: & more sig: bytes respectively."
   1 23659,2. Use
   1 23659,0 before   each
   1 23659,0 at prog start -  the effect is that of no:5)."
   1 23636.If=23755,it hasn't  been paged in so far."'" (c)To check if the program just  
   1 23636,92.3)Use #59,#98,call #65/66 to disable BREAKs & #68 for nondeleta- ble 
   1 23636,150. To return to  normal
   1 23636),100. You can RUN but not LIST prog   until you
   1 23635+256  *
   1 23607, 60.";
   1 23607, 223   
   1 23606/7 WITH THE LESS/MORE SIGNIFICANT BYTES OF  THE START ADDRESS LESS 256(THIS IS CURRENTLY 0/223). TO RETURN  TO THE USUAL 
   1 23552,RAMTOP-23550-F to    save your program disguised as  bytes- it will autostart at the first line."'" Also see #104.";
   1 23550,Address of LAST byte of 
   1 2 byte eq  of Start Address in 63980/1 )   with the display 
   1 1984 SUPERSOFT SYSTEMS    
   1 120"'"Then enter
   1 0"'"Turn Page: Use ENTER or Jump"'"Menu:";:
   1 0 to restart the toolkit. If called from #92, only the    last 2 digits are considered."
   1 0 to restart the   toolkit."
   1 0 restarts"
   1 .Keeping the 
   1 . Also   try
   1 - 23549. When the  
   1 ,use routine  87 to find its 
   1 ,to the given address,a headerless file"
   1 ,this routine merges a
   1 ,say X, to a  new 
   1 , PEEK  23681."
   1 ,  on an empty Spectrum,to 
   1 ,    which saves space but reduces   speed. 0 is replaced by NOT PI. Also see #64,#82,#90,#103,#104. To save even more space,replace all commonly occurring numbers  (ie 0,1,2,10 etc)by variables,  defined at the start. Routine   #72 is useful for locating no:s"
   1 +-*]\"[\*Q\
   1 ++F+N+++"]\*S\~
   1 ++F+N+++"]\
   1 *ing:if  a program is long/RAMTOP is low it could crash when you try to  
   1 *ing long   programs.If any message besides 0 OK appears,shorten the prog:  or
   1 *]\###q#p##"]\
   1 *S\##"]\^#V
   1 *"m";E;"SUPERCODE4":
   1 *"m";E;"SUPERCODE4"
   1 *""m"";n;Name$   
   1 * it.That would lose the   whole program.Instead,call this routine before
   1 *  ""m"";n;Name$(
   1 )to tfr parts 3&4."'"(4)You now have a verified copy  of SUPERCODE on microcartridge  -it will autostart if you enter 
   1 )to Tape/Microdrive,
   1 ). To access a routine whose no:  is known, press 
   1 ). For ways to relocate routines, press 
   1 ),No:s/Var (2.3,Z,A$),operations(*),rel(<) etc,or combinations of these.   
   1 ),  or just after,part1,and call it from there.It will
   1 ) to restart. To get this routine's details  another time, press 
   1 (with Z=A+256*ZZ)as in case(1) overleaf.Note thatthe routine will no longer  workat its old address."'"(3)The ROM routines & #120 are vdifficult to relocate (why ever relocate a ROM routine?!),#77/78have to be located at the top ofRAM.":
   1 (same number),0.2)
   1 (X/256)"'"
   1 (Index). Use ENTER to turn pages To access the next routine in  the Index, press 
   1 (63768,63771)
   1 (63762)    
   1 (63744)   
   1 (63738)   
   1 (63732)     
   1 (1)Using PAUSE"'"(2)W/out PAUSE
   1 (1)Reset the Spectrum.Put a new  cartridge in Microdrive#1"'"(2)Enter
   1 (*)/ INDEX/ CUSTOMISE"'"Restart: Use
   1 (""SUPERCODE"", or  ERCO),commands( 
   1 '"This routine will be saved with the provisional name 
   1 '"If an error message appears, useGOTO 0 to restart."'"Enter the Microdrive number, or just press Enter for the default# of 1.":
   1 & statement no: currently being   executed.
   1 #T]##N#F#~
   1 #4;   is executed(use with r.no:65)   This pages in the shadow ROM,   if present."'" (b)To check if the shadowROM is  paged in,
   1 #0/#1.If the lower    part of 
   1 # command does
   1 # GENERATOR",E
   1 "To store this routine on a Microdrive cartridge,press 
   1 "The SAVE is over."'"Proceeding with VERIFY.":
   1 "SUPERCODE4"
   1 "SUPERCODE3"
   1 "SUPERCODE2"
   1 "ROM","0","STAR/RING DRAW",E
   1 "ROM","0","PROTECT PROGRAM",D
   1 "ROM","0","NON-DELETABLE 
   1 "ROM","0","MDRVE DIAGNOSIS",D
   1 "ROM","0","FREE-SCROLLER",E
   1 "ROM","0","FAST
   1 "ROM","0","CHR$ SCRAMBLE",E
   1 "ROM","0","AUTO
   1 "ROM","0","24
   1 "ROM","0","2 BYTE CONVERTER",E
   1 "Please replay the tape.":
   1 "OK,the name is
   1 "OK,the Microdrive # is
   1 "Move the cursor to the required line & then call this routine.  You will be in EDIT mode, but   with the cursor at the END of   the line."
   1 "Further Reading: Programming the Z80 (R.Zaks,ISBN 0-89588-094-6) Complete SpectrumROMDisassembly (I.Logan&F.O'Hara,ISBN 0-86759- 117-X)":
   1 "F R ` F R `"'':
   1 "And now at slow speed":
   1 ";A+P;", Box Width"'"
   1 ";A+M;", Box Height"
   1 ";A+G;" with"'"
   1 ";A+F;", INT(X/256)"
   1 ";A+E;", X- 256*
   1 ";A+E;", Overall Colour"
   1 ";A+E;", New Attribute Val"'"
   1 "9",H;"To call this routine, use";
   1 "9",D;" If the 2 byte equivalent of X = L(Less)/M(More) sig: bytes,then L+256*M=X.The less significant  byte comes 1st. This routine is an instant converter of numbers from 0-65535 to their 2 byte    equivalents.To convert X to its 2 byte equiv.,enter
   1 "65494","32","PIXEL RIGHT-SCROLL",S
   1 "65462","32","PIXEL LEFT-SCROLL",S
   1 "65350","112","HEX
   1 "65318","32","REPLAY SOUND",D
   1 "65290","28","RECORD SOUND",D
   1 "65277","8","SURE
   1 "65256","21","
   1 "65204","52","
   1 "65143","61","
   1 "65081","62","
   1 "65026","55","
   1 "64982","44","
   1 "64965","17","
   1 "64948","17","
   1 "64931","17","
   1 "64914","17","
   1 "64884",M:
   1 "64883","31","
   1 "64858","25","
   1 "64828","30","
   1 "64809","19","
   1 "64784","25","
   1 "64756","28","
   1 "64744","12","
   1 "64706","38","
   1 "64675","31","DUAL-NOTE SOUND-GEN",J
   1 "64647","28","UNI-NOTE SOUND-GEN",H
   1 "64629","18","SHUTTER RIGHT-SCROLL",I
   1 "64611","18","RIPPLE RIGHT-SCROLL",S
   1 "64593","18","SHUTTER LEFT-SCROLL",I
   1 "64575","18","RIPPLE LEFT-SCROLL",S
   1 "64550","25","
   1 "64525","25","
   1 "64500","25","
   1 "64475","25","
   1 "64450","25","
   1 "64425","25","
   1 "64400","25","
   1 "64375","25","
   1 "64350","25","
   1 "64325","25","
   1 "64300","25","
   1 "64275","25","
   1 "64211","59","LOWER-CS PROGRAM",D
   1 "64197","14","MEMORY AVAILABLE",E
   1 "64098","99","PIXEL DOWN-SCROLL",192
   1 "64001","97","PIXEL UP-SCROLL",192
   1 "63976","25","
   1 "63950","26","LASER ZAP",I
   1 "63902","43","
   1 "63806","96","BLOCK 
   1 "63795","11","BLOCK MEMORY INSERT",E
   1 "63777","18","
   1 "63728","49","
   1 "63644","83","
   1 "63490","154","
   1 "63382","108","INITIALISE",D
   1 "63205","177","
   1 "63163","42","
   1 "63143","20","
   1 "63124","19","
   1 "63051","73","
   1 "63034","17","OBLIQUE SCROLL-OFF",1625
   1 "63010","24","MULTI
   1 "63000","10","UNI
   1 "62943","54","MONOCHROME PROGRAM",D
   1 "62857","86","ANALYSE MEMORY",E
   1 "62819","38","
   1 "62533","286","TAPE HEADER READER",D
   1 "62404","129","ANALYSE PROGRAM",E
   1 "62087","317","EXPAND PROGRAM",D
   1 "61400","687","CONTRACT PROGRAM",D
   1 "61000","400","BLOCK
   1 "60972","24","AWAIT KEYPRESS",D
   1 "60899","72","ON BREAK
   1 "60879",D:
   1 "60878",J:
   1 "60826","73","ON ERROR
   1 "60595","118","DEC->HEX CONVERTER",E
   1 "60494","101","
   1 "60407","86","APPEND STATEMENT",D
   1 "60222","185","VARIABLES
   1 "60192","30","
   1 "60162","30","
   1 "60039","123","
   1 "60029",Z:
   1 "60029",I:
   1 "60020",F:
   1 "60006",I:
   1 "60000","38","
   1 "59988","12","PROGRAM LENGTH",E
   1 "59975","13","
   1 "59294","681","SUPER-RENUMBER",D
   1 "59136","158","PAINT-FILL",E
   1 "58892","244","
   1 "58833","59","UPPER-CS 
   1 "58774","59","LOWER-CS 
   1 "58715","59","UPPER-CS PROGRAM",D
   1 "58683","31","BLOCK MEM
   1 "58608","75","PIXEL BOXRIGHT SCROLL",S
   1 "58571","112","PIXEL BOXLEFT SCROLL",S
   1 "58398","173","UNCONFUSE
   1 "58263","135","CONFUSE
   1 "58115","148","COMPRESS NUMBERS",D
   1 "57344","768","SCIFI 
   1 "57176","168","FOREIGN ACCENTS",E
   1 "57159","17","ADAPT PROGRAM",D
   1 "57126","33","SURE
   1 "57108","18","HEADERLESS FILES",D
   1 "57094","14","ANTI-
   1 "56777",E:
   1 "56640","450","TRACE VARI-SPEED",E
   1 "56"*(N<P)'" SCROLL-OFF:  
   1 "54"+(N<P):
   1 "4)Embed  hidden colour CHR$ to   set
   1 "36"+A;", 26"'" SCROLL-OFF:
   1 "36"+A;", 0"
   1 "3438","0","LOWER 
   1 "3190","0","
   1 "2590"*(N$="L")
   1 "23659",F*(N=
   1 "23606",D:
   1 "234"-Z,D:
   1 "23295"+Z,
   1 "20"*(NMAX=F)
   1 "2.3025"):
   1 "19",E;"8 calls"
   1 "18",D;" WRAP-AROUND:
   1 "16";"Right"
   1 "15",E;"To scroll attributes as well,   refer to routines 37-40(define  suitable box & Attr value).Call the attribute scroll once per   1 call  of this routine.":
   1 "13";", 0"
   1 "1210"+N*I:
   1 "111"),D;" 
   1 "109"),H;"
   1 "1";"run":
   1 "1";"SUPERCODE4"
   1 "1";"SUPERCODE3"
   1 "1";"SUPERCODE":
   1 "0","0","RESET",D
   1 "'''"Where any part of SUPERCODE is  used,a prominent credit must be given to this fact, and to its  authors, F.A.Vachha BSc & V.B.  Rumsey.":
   1 "''"Number of Routines: 
   1 "''"Define Z1,Z2:-"'"For 
   1 "''"(1)To move a Relocatable Routineso that it starts at address  Z,first
   1 "'"Place: 56640-65535(RAMTOP=56639)Help Prog:
   1 "#";N;": ";
   1 " WRAP-AROUND: 
   1 " To store this routine on tape, press 
   1 " To renumber without
   1 " To renumber lines starting with S using interval I,
   1 " To make a 
   1 " To help with
   1 " To delete all lines from a to b 
   1 " This routine zeroes all numeric variables/arrays,sets all 
   1 " This routine waits till a key   (whose CODE will be put in L)is pressed.";
   1 " This routine undoes the effect  of #98, to allow lines of a     CONFUSEd program to be EDITed/  altered."
   1 " This routine swops all 
   1 " This routine simulates a power- off: ie, it not only does
   1 " This routine shortens+speeds up programs by deleting all
   1 " This routine replays what #77   recorded. It is probably best   to use your cassette-recorder   (MIC socket) to amplify the     sound."
   1 " This routine replaces numbers   in the program by VAL 
   1 " This routine replaces each occ- urrence of a specified 
   1 " This routine prints out a full  analysis of memory contents,    starting at the address whose   less & more significant bytes   (see #101)have been
   1 " This routine places a random #  pair in the System Variable     SEED ( PEEK 23670 & 23671 )." ;
   1 " This routine operates on 
   1 " This routine merges a 
   1 " This routine loads information  stored in memory into an auto-  created
   1 " This routine lists each 
   1 " This routine lists all"'" (1) Numeric variables"'" (2) 
   1 " This routine inserts a given    number into a block of memory.  
   1 " This routine expands programs   so that there is exactly one    statement per line (except in   IF..THEN lines).In reply to the prompt, enter the no: of the    line you want expanded, or just ENTER if you want the entire    program expanded. You must use  #60 after calling this routine."
   1 " This routine enables you to     determine the 
   1 " This routine does a
   1 " This routine deletes all hidden colour 
   1 " This routine decodes tapeheader information & prints out a full analysis (name, address, type,  length & auto-start details."
   1 " This routine converts decimal   no:s from 0 to 65535 to hex.    It clears the screen & prompts  'D:' - now ENTER the dec no:.   Error message 6 results if the  no: was out of range. The rou-  tine autorepeats. Enter 'Q' to  quit,&
   1 " This routine allows hex input   into RAM.POKE the less/more sig (see #101)bytes of the first    address to be changed into the  system-variable DEFADD(23563/4)
   1 " This routine allows a block of  lines to be relocated within a  BASIC program.In order to shift lines 4200 till 6745 so they    appear after2200 in the listing respond 4200,6745 & 2200 to the auto-prompts.The new lines will all have number 0.Now call #60  to renumber & #57 to delete the old lines. Fully errorproofed."
   1 " The routine speeds up+contracts programs into the minimum no:of
   1 " The routine changes all squares with a given 
   1 " The routine
   1 " The free space F from the last  Variable to RAMTOP is printed.  Use
   1 " THIS IS AN EXAMPLE OF THE SCIFI 
   1 " Routines 94 to 97 change the    case (upper/lower)of strings or of the entire listing ( except  strings),as specified.Note that an effective way of switching   case from within programs is to POKE 23658,0 (LO) or 8(HI)."
   1 " In some cases the command 
   1 " In order to scroll a table of   data > 22 lines long without    stopping, use the command
   1 " INVERSE SCR:
   1 " Having connected the EAR socket of the cassette-recorder to the Spectrum,start playing the tape (Voice is best;Vol=Max),& 
   1 " For transfer of 
   1 " Follow the prompts to expand a  REM statement (to accommodate   code) anywhere in the program,  by up to 9999 bytes"
   1 " Draw multipointed-stars & rings by first plotting a point near  the middle of the screen & then using DRAW X,Y,N  where X & Y   have magnitudes from 10 to 60   & N lies between 1000 & 9999.   You should experiment."
   1 " Draw any closed figure on the   screen, then PLOT a point lying INSIDE it. POKE 59293 with the  Attribute value to be filled,&  then call this routine."
   1 " Corrupts the listing without    affecting program execution:    attempting to EDIT/alter lines  could be fatal (thus useful for program protection, as are #68/ #80)."
   1 " Call this routine at the start  of your program, say by having  as
   1 " By POKEing 23606 & 23607 with   different numbers, a corrupted  character set is obtained. To   normalise, POKE 23606,0 : POKE  23607,60. Protect your program  with this, temporarily normal-  ising before each PRINTing."
   1 " BASIC programs with m.code in   
   1 " A set of accented 
   1  values are not changed.Refer to #25-27 for 
   1  to a ZX-Microdrive, press 
   1  to """" & all dimensioned 
   1  swops the  current screen & the STOREd one A screen has 6912 bytes (24*32* 8, + 24*32 Attributes) & should be stored above RAMTOP (CLEARed downwards to make room).To have a screen from X to X+6911, use  
   1  saves a screen,
   1  recalls it. 
   1  messages."
   1  is now called
   1  does not close all streams.If this occurs,use this routine."
   1  SAVE""Name""CODE ";A;",";B
   1  ROUTINE # 65 HAS PREVENTED YOU  FROM BREAKING INTO THIS PROGRAM
   1  OVERPRINT
   1  ERR+1,0'.Any BREAK/ error will now cause a crash. 6)
   1  59580 ,I: POKE 59582/3,2 byte eq:of S Each 
   1  23692,x where x is the no: of   lines to be scrolled. To scroll 'forever' use
   1  1.The 2 byte equivalents(see #  101)of the starting address of  the memory & the no: of bytes   must be stored in 63209/10 and  63206/07 respectively."
   1  -rewind & replay the cassette   from the start.When you come to this page,press 
   1  (Tape)."'"Note address,length,customising POKEs(if any)etc for future ref:":
   1  (Repeat)."'" For a demo, press 
   1  (Quit). Use
   1  (Number).":
   1  (MDrve)."
   1  (Demo)."'" To return to the Index, press 
   1  ( Location Change ).     For BASIC, press 
   1   the cursor is pointing to.";
   1   stored in RAM (
   1   no:,the next valid
   1   but also
   1   X,Y;""Optional Message"";Variable The method works with
   1    key pressed,play the cassette.  This tfrs parts 1&2."'"(3)After the reset enter 
   1    arrays to 
   1    V.RUMSEY   
   1    BASIC programs."'" (b)To 
   1